package com.cloud.lawcase.api.service;

import com.cloud.lawcase.api.bean.LawCriteriaBean;
import com.cloud.lawcase.api.entity.TcDicLaw;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

public interface LawService {

	/**
	 * 分页获取法规相关信息
	 * 
	 * @param criteria
	 * @return
	 */
	PageInfo<TcDicLaw> listLawPage(LawCriteriaBean criteria);

	/**
	 * 保存或新增法规相关信息
	 * 
	 * @param law
	 * @return
	 */
	TcDicLaw saveUpdateLaw(TcDicLaw law);

	/**
	 * 删除法规信息
	 * 
	 * @param lawId
	 */
	Long deleteLaw(Long lawId);

	/**
	 * 法规编辑获取信息
	 * 
	 * @param lawCode
	 * @return
	 */
	TcDicLaw loadLawDetail(Long id);

	/**
	 * 法律法规时效统计
	 * @param id
	 * @return
	 */
	List<Map<String, Object>> lawStat(Long id);

	/**
	 * 法律处罚类型统计
	 * @param id
	 * @return
	 */
	List<Map<String, Object>> lawExecuteTypeStat(Long id);

	/**
	 * 根据code获取法律详情
	 * @param code
	 * @return
	 */
	List<TcDicLaw> getDetail(String code);
}
